﻿namespace ZOIL.DataModel
{
    public interface ICustomUpdateable
    {
        /// <summary>
        ///     Called when a new remote update is received.
        ///     If a class does not implement this interface all fields will be exchanged
        ///     If a class implementens this interface it MUST handle the exchange on its own!
        /// </summary>
        /// <param name="remotelyUpdatedObject"> Object with the changed.Can be casted into the implementing class (: this.GetType() == <see
        ///      cref="remotelyUpdatedObject" /> .GetType()). </param>
        void OnUpdate(object remotelyUpdatedObject);
    }
}